package com.tanhua.dubbo.api;

import com.tanhua.domain.mongo.Publish;
import com.tanhua.domain.vo.PageResult;
import org.bson.types.ObjectId;

import java.util.List;

public interface PublishApi {
    /**
     * 给当前用户推荐动态
     */
    PageResult findRecommendPublish(int page, int pagesize, Long targetUserId);

    /**
     * 发布动态
     */
    String save(Publish publish);

    /**
     * 查询好友动态
     * @param page
     * @param pagesize
     * @param userId    当前用户动态
     * @return
     */
    PageResult findFriendPublish(int page, int pagesize, Long userId);

    /**
     * 查询推荐动态信息
     * @param page
     * @param pagesize
     * @param userId    当前用户动态
     * @return
     */
    PageResult findUserPublish(int page, int pagesize, Long userId);

    /**
     * 根据动态id查询动态
     * @param publishId
     * @return
     */
    Publish findById(ObjectId publishId);

    /**
     * 查询动态列表
     * @param userId    用户id
     * @param state     动态审核状态
     */
    PageResult findPublishList(Integer page, Integer pagesize, Long userId, Integer state);

    void updateState(Publish publish);

    List<Publish> findListByPids(List<Long> pidList);
    void dynamicPass(String[] ids);

    void dynamicRefusal(String[] ids);
}
